package com.zmh.controller;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.alibaba.fastjson.JSONObject;
import com.zmh.entity.BookEntity;
import com.zmh.entity.Result;
import com.zmh.service.book.BookService;

import lombok.extern.slf4j.Slf4j;

/** 
 * 书籍管理
 * @author zhoumh
 * @version 创建时间：2017年12月1日 下午4:29:19 
 * @Description 
*/
@RestController
@RequestMapping("/book")
@Slf4j
public class BookController {
	@Autowired
	private BookService bookService;
	
	/**
	 * 分页查询书籍列表
	 * @param page 页码
	 * @param limit 条数
	 * @return: Result
	 * @author: zhoumh
	 * @version 创建时间：2018年5月13日 下午6:04:53
	 */
	@RequestMapping(value = "/getBookList")
	public Result getBookList(
			@RequestParam(value="page", required=true) String page,
			@RequestParam(value="limit", required=true) String limit) {
		log.info(page+" "+limit);
		//获取分页
		List<BookEntity> books = bookService.getBookList(page, limit);
		return Result.ok().data(books);
	}
	/**
	 * 根据ID查询书籍信息
	 * @param id 书籍ID
	 * @return Result
	 * @author zhoumh
	 * @version 创建时间：2018年5月13日 下午6:12:35
	 */
	@RequestMapping(value = "/getBookById")
	public Result getBookById(@RequestParam(value="id") String id){
		BookEntity book = bookService.getBookById(id);
		return Result.ok().data(book);
	}
	
	/**
	 * 增加书籍信息
	 * @param BookEntity 书籍信息
	 * @return int 受影响的行数
	 * @author zhoumh
	 * @version 创建时间：2018年5月13日 下午6:12:35
	 * @Description:
	 */
	@RequestMapping(value = "/addBook",method = RequestMethod.POST,consumes = "application/json; charset=utf-8")
	public Result addBook(@RequestBody BookEntity bookInfo){
		System.out.println(JSONObject.toJSONString(bookInfo));
		int result = bookService.addBook(bookInfo);
		return Result.ok();
	}
	
	/**
	 * 更新书籍信息
	 * @author zhoumh
	 * @version 创建时间：2018年5月13日 下午6:18:54
	 */
	@RequestMapping(value = "/updBookById",method = RequestMethod.POST,consumes = "application/json; charset=utf-8")
	public Result updWebsiteById(@RequestBody BookEntity bookInfo){
		System.out.println(JSONObject.toJSONString(bookInfo));
		int result = bookService.updBookById(bookInfo);
		return Result.ok();
	}
	/**
	 * 根据ID删除网站信息
	 * @param id 网站ID
	 * @author: zhoumh
	 * @version: 创建时间：2018年5月6日 下午7:26:00
	 * @Description:
	 */
	@RequestMapping(value = "/delBookById")
	public Result delBookById(@RequestParam(value="id") String id) {
		System.out.println("要删除的id: "+id);
		int result = bookService.delBookById(id);
		return Result.ok();
	}
	
    /** 
     * 获取书籍最新章节更新
     */ 
	@RequestMapping("/bookUpdate")  
    public void bookUpdate(HttpServletRequest request, HttpServletResponse response) throws IOException {
//		bookService.bookUpdate();
	}
	
    /** 
     * 获取书籍源站新
     */ 
	@RequestMapping("/getBookUpd")  
    public void getBookUpd(HttpServletRequest request, HttpServletResponse response) throws IOException {
//		bookUpdateService.getBookUpd();
	}
	

}
